/**
 * 解引用(*)、取地址(&)
 * 到第15章细说
 */
fn main() {
    let mut x = Box::new(1);
    let a = *x;
    *x += 1;
    println!("x={}, a={}", *x, a);

    let r1 = &x; // 二级指针
    let b = **r1; // 2次解引用
    println!("r1={}, b={}", *r1, b);

    let r2 = &*x; // &和*相反操作，相互抵消
    let c = *r2;
    println!("r2={}, b={}", *r2, c);
}
